Computers may use “virtual memory” to extend the usable memory in a system. In virtual memory architectures, a virtual memory manager (VMM) maps virtual memory addresses to physical addresses, which are assigned according to algorithms. Virtual memory may seamlessly manage moving memory between local or cache memory, main memory (RAM), and swap files or partitions on a hard disk, by way of nonlimiting example. In an example VMM implementation, “user mode” programs need not be aware of the VMM's activities. Rather, the user mode program simply accesses the virtual memory address, and the VMM handles fetching data from or writing data to the correct location.